(function (mui, $) {
var shares = {};
var _Data  = {'token':app.store('token'), 'page':1, 'nums':20};

// 回到首页
$('.btn-app-home').on('tap', function () {
	plus.webview.getWebviewById('home.html').evalJS('app.home()');
});

function next (cb) {
	app.log('请求参数：', mui.extend({}, _Data, {'page':_Data.page+1, 'special_id':_Data.id}));
	if (plus.webview.currentWebview().isVisible()) { plus.nativeUI.showWaiting(); }
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Special/Index/commentLists'),
		'data'     : mui.extend({}, _Data, {'page':_Data.page+1, 'special_id':_Data.id}),
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('获取评论列表失败：', res);
		app.toast('获取评论列表失败');
		app.tryResetPullLoading();
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('评论数据：', res);
		
		if (500 == res.code) { app.toast('你还未登录'); app.tryResetPullLoading(); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg && plus.webview.currentWebview().isVisible()) { app.toast(res.msg); }
		
		if (res.data && res.data.length) { _Data.page++; }
		cb && cb(res);
	})
	;
}
// 下拉刷新
function call_on_pull_down () {
	var pullrefresh = mui('.container-pull-refresh').pullRefresh();
	_Data.page = 0;
	//$(pullrefresh.element).find('.mui-scroll>.scroll-data').empty();
	
	next (function (res) {
		var dom = $(pullrefresh.element).find('.mui-scroll>.scroll-data');
		$('.comments').html(app.tpl($(dom).attr('data-tpl'), res));
		pullrefresh.endPulldownToRefresh();
		
		mui.previewImage();
	});
}
// 上拉加载
function call_on_pull_up () {
	var pullrefresh = mui('.container-pull-refresh').pullRefresh();
		
	next (function (res) {
		var dom = $(pullrefresh.element).find('.mui-scroll>.scroll-data');
		$('.comments').append(app.tpl($(dom).attr('data-tpl'), res));
		pullrefresh.endPullupToRefresh();
	});
}
mui.init({
	pullRefresh   : {
		container : '.container-pull-refresh',
		down      : {callback : call_on_pull_down},
		up        : {callback : call_on_pull_up},
	}
});

mui.plusReady(function () {
	var view = plus.webview.currentWebview();
	_Data.id = view.extras.id;
	
	// 初始化分享服务
	plus.share.getServices(function (services) {
		if (services && services.length > 0) {
			for (var i = 0; i < services.length; i++) {
				var item = services[i]; shares[item.id] = item;
			}
		}
	}, function() {
		app.log("获取分享服务列表失败");
	});
	
	app.log('专题详情：', {'token':app.store('token'), 'data':{'id':view.extras.id}});
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Special/Index/detail'),
		'data'     : {'token':app.store('token'), 'data':{'id':view.extras.id}},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('取得专题详情失败：', res);
		app.toast('取得专题详情失败');
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('专题详情', res);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		var topic = res.data;
		$('.thumbnail img').attr('src', app.image(topic.thumb));
		$('.topic-title').text(topic.title);
		$('.topic-desc').text(topic.description);
		$('.topic-text').html(topic.content);
		$('.btn-awesome span').text(topic.likes || '0');
		$('.btn-message span').text(topic.comment || '0');
		$('.comments').html(app.tpl('tpl-template', {'data':topic.comment_info}));
		$('.topic-text').find('img').removeAttr('style').removeAttr('width').removeAttr('height');
		
		//app.log(topic.comment_info);
		$('.btn-submit').prop('disabled', false);
	})
	;
});
// 跳转到商品详情
$('body').delegate('img[data-goods]', 'tap', function () {
	app.open('product.detail.html', {'id':$(this).attr('data-goods')});
});
// 跳转到商品分类
$('body').delegate('img[data-category]', 'tap', function () {
	app.open('product.search.html', {'category_id':$(this).attr('data-category')});
});
// 点赞
$('body').delegate('.btn-awesome', 'tap', function () {
	var dom = this, view = plus.webview.currentWebview();
	
	if ($(dom).hasClass('disabled')) { return; }
	
	plus.nativeUI.showWaiting();
	$('.btn-awesome').addClass('disabled');
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Special/Index/like'),
		'data'     : {'token':app.store('token'), 'data':{'id':view.extras.id}},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('点赞失败：', res);
		app.toast('点赞失败');
		$('.btn-awesome').removeClass('disabled');
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('点赞：', res);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		//if (res.msg) { app.toast(res.msg); }
		
		$(dom).find('span').text(res.data.likes);
	})
	;
});

function _doShareMessage (share, ex) {
	var view = plus.webview.currentWebview();
	var message = {
		'extra'   : {'scene': ex},
		'href'    : app.link.share + 'topic=' + view.extras.id,
		'title'   : $('.topic-title').text(),
		'content' : $('.topic-desc').text(),
	};
	if (~share.id.indexOf('weibo')) {
		message.content += "；体验地址：" + message.href;
	}
	message.thumbs = ["../images/logo.png"];
	share.send(message, function() {
		app.log('分享到"' + share.description + '"成功！ ');
		app.toast('分享成功');
	}, function(e) {
		app.log('分享失败：', e);
		app.toast('分享失败');
	});
}
// 点击分享
$('.btn-share').on('tap', function () {
	var data = {
  	title: $('.topic-title').text(),
  	desc: $('.topic-title').text(),
  	link: top.window.document.URL,
  	imgUrl: $('.thumbnail img').attr('src'),
  	type:'link',
  	dataUrl: ''
  }
	parent.window.topic.share(data);
});

// 提交评论
$('.btn-submit').on('tap', function () {
	var dom = this, view = plus.webview.currentWebview();
	var data = {
		special_id  : view.extras.id,
		content     : $('[name=message]').val(),
	};
	if (!data.content || data.content.length < 5) { alert('请至少输入5个字'); return; }
	
	app.log('提交评论：', {'token':app.store('token'), 'data':data});
	plus.nativeUI.showWaiting();
	$(dom).prop('disabled', true);
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Special/Comment/comment'),
		'data'     : {'token':app.store('token'), 'data':data}
	})
	.fail(function (res) {
		plus.nativeUI.closeWaiting();
		app.log('评论失败：', res);
		app.toast('评论失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		plus.nativeUI.closeWaiting();
		app.log('评论结果：', res);
		$(dom).prop('disabled', false);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		$('[name=message]').val('');
		
		call_on_pull_down();
	})
	;
});

})(mui, $);
